<title>pipe function</title>

<head>
<script language="JavaScript">
</script>
</head>

<body bgcolor=#ffffcc>
<hr>
<center>
<h1>pipe function </h1>
</center>
<hr>
<p>
<b>pipe</b> creates two file descriptors which can be used by
parent and child processes to communicate data. A child process can
be created with the <a href="fork.html">fork</a> function. 
<p>
<hr>
<center>
<table border=2 width="80%" bgcolor="ivory">
<tr>
<td width="80%">
<pre>

	Library:   unistd.h

	Prototype: int pipe(int fd[2]);

	Syntax:    int fd[2];
		   pipe(fd);
</pre>
</td>
</tr>
</table>
</center>
<p>
<hr>
On error, pipe returns -1.<p>
Once the pipe has been executed, the data can be transfered 
using <a href=read.html>read</a> and
<a href=write.html>write</a>.
<hr>
<h2>Notes:</h2>
Make sure that when you <a href=read.html>read</a>
exactly the same number of bytes that are 
<a href=write.html>written</a>! I spend HOURS 
trying to figure out why I was loosing data because of this feature!!
<hr>
<h2>Examples:</h2>

<img src=../../GRAPHICS/computer.gif>
<a href="../EXAMPLES/pipe1.c"> read and write fixed length records.</a> 
<p>

<img src=../../GRAPHICS/computer.gif>
<a href="../EXAMPLES/pipe2.c"> read and write variable length records.</a> 

<hr>
<h2>See Also:</h2>

<img src=../../GRAPHICS/whiteball.gif>
<a href="fork.html">fork</a> <p>
<img src=../../GRAPHICS/whiteball.gif>
<a href="popen.html">popen</a> function.<p>
<img src=../../GRAPHICS/whiteball.gif>
<a href="pclose.html">pclose</a> function.<p>

<img src=../../GRAPHICS/whiteball.gif>
<a href="read.html">read</a> function.<p>

<img src=../../GRAPHICS/whiteball.gif>
<a href="write.html">write</a> function.<p>


<p>

<hr>
<p>
<center>
<table border=2 width="80%" bgcolor="ivory">
<tr align=center>
<td width="25%">
<a href="../cref.html">                  Top</a>
</td><td width="25%">
<a href="../master_index.html">          Master Index</a>
</td><td width="25%">
<a href="../SYNTAX/keywords.html">                 Keywords</a>
</td><td width="25%">
<a href="funcref.htm">      Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>
<address><a href="../../address.html">Martin Leslie</a> 
</address><p>
</body>
</html>
